﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Coldairarrow.Business.Interface
{
    /// <summary>
    /// 新建付款单DTO
    /// </summary>
    public class AP_PAYBILL_SAVEDTO
    {
        /// <summary>
        /// 表单ID
        /// </summary>
        public string FormId { get; set; }
        public Data data { get; set; }

        public class Data
        {
            /// <summary>
            /// 非必须。此参数主要用于优化性能，当传入的单据数据量较大时，可以设定此参数的并行分批执行次数。例如传入100张单据数据，此参数设定为10，则表示在k3cloud系统中，以10个单据为一批，分10批，同时并发保存，提升效率。
            /// </summary>
            public string BatchCount { get; set; }
            /// <summary>
            /// //非必须，在修改单据时是否需要删除已经存在的分录。
            /// </summary>
            public string IsDeleteEntry { get; set; }
            /// <summary>
            /// //表单所在的子系统内码，字符串类型（非必录）
            /// </summary>
            public string SubSystemId { get; set; }

            public List<Models> Model { get; set; }

            public class Models {

                /// <summary>
                /// 单据类型
                /// </summary>
                public Fnumber FBillTypeID { get; set; }

                /// <summary>
                /// 付款组织
                /// </summary>
                public Fnumber FPAYORGID { get; set; }
                /// <summary>
                /// 收款单位类型
                /// </summary>
                public string FRECTUNITTYPE { get; set; }
                /// <summary>
                /// 收款单位
                /// </summary>
                public Fnumber FRECTUNIT { get; set; }
                /// <summary>
                /// 往来单位类型
                /// </summary>
                public string FCONTACTUNITTYPE { get; set; }
                /// <summary>
                /// 往来单位
                /// </summary>
                public Fnumber FCONTACTUNIT { get; set; }
                /// <summary>
                /// 币别 
                /// </summary>
                public Fnumber FCURRENCYID { get; set; }
                /// <summary>
                /// 财务类别 
                /// </summary>
                public Fnumber F_VIVH_Assistant_fklb { get; set; }

                /// <summary>
                /// 发票状态
                /// </summary>
                public string F_VIVH_Text_qtr { get; set; }
                /// <summary>
                /// 备注
                /// </summary>
                public string FREMARK { get; set; }

                /// <summary>
                /// 表明细
                /// </summary>
                public List<FPayBillEntry> FPAYBILLENTRY { get; set; }

                public class FPayBillEntry
                {
                    /// <summary>
                    /// 结算方式
                    /// </summary>
                    public Fnumber FSETTLETYPEID { get; set; }
                    /// <summary>
                    /// 付款用途
                    /// </summary>
                    public Fnumber FPURPOSEID { get; set; }
                    /// <summary>
                    /// 应付金额
                    /// </summary>
                    public string FPAYTOTALAMOUNTFOR { get; set; }
                    /// <summary>
                    /// 银行账号
                    /// </summary>
                    public Fnumber FACCOUNTID { get; set; }
                    /// <summary>
                    /// 费用项目
                    /// </summary>
                    public Fnumber FCOSTID { get; set; }
                    /// <summary>
                    /// 费用承担部门
                    /// </summary>
                    public Fnumber FEXPENSEDEPTID_E { get; set; }
                    /// <summary>
                    /// 销售方式
                    /// </summary>
                    public Fnumber FXSFS { get; set; }
                    /// <summary>
                    /// 产品系列
                    /// </summary>
                    public Fnumber FCPXL { get; set; }
                    /// <summary>
                    /// 店铺
                    /// </summary>
                    public Fnumber FDP { get; set; }

                    /// <summary>
                    /// 备注
                    /// </summary>
                    public string FCOMMENT { get; set; }
                }

            }

            public class Fnumber
            {
                public string FNUMBER { get; set; }
            }
        }

    }

    //public class FACCTGORGID
    //{
    //    public string FNumber { get; set; }
    //}
}
